home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Night Owl 6
/
Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso
/
018a
/
improc30.zip
/
IMPROCES.DOC
< prev
next >
Wrap
Text File
|
1992-01-15
|
108KB
|
2,422 lines
IMPROCES(C). Copyright John Wagner 1991. All rights reserved.
┌┐ ┌┐
└┼──────────────────────────────────────────────────────────┼┘
│ │
│ IMPROCES(C). John Wagner 1991. All rights reserved │
│ │
│ J.W. Software Proudly Presents: │
│ │
│ IMPROCES(C) │
│ │
│ SVGA IMAGE PROCESSOR │
│ │
│ FOR IBM PC's and COMPATIBLES │
│ │
│ 320x200x256 THROUGH 1024x768x256 │
│ │
│ Very Powerful Software at a Very Reasonable Price │
│ │
│ Version 3.0 │
│ │
┌┼──────────────────────────────────────────────────────────┼┐
└┘ └┘
Introduction.....................................................1
Shareware Information............................................1
Registered Users.................................................1
Unregistered Users...............................................1
Why Register.....................................................2
Business Users...................................................2
How to register..................................................2
Authors Mailing Address..........................................2
Warning Notices..................................................3
Video Memory/Modes...............................................3
Do not compress!.................................................3
System Requirements..............................................4
Use a Hard Disk!.................................................4
Quick Start......................................................5
Swapfiles........................................................5
DOS Environment Variables........................................5
TEMP, TMP and a RAMDISK..........................................6
IMPROCES uses overlays...........................................6
For Your Protection..............................................6
UNDO feature.....................................................6
Screen Startup Mode..............................................6
Highest Video Mode...............................................6
Use EMS, XMS or both.............................................7
GUI Menuing and Conventions......................................7
Filepicker.......................................................8
Color Bar........................................................9
Button Types.....................................................10
Running the program..............................................10
Saving Images to a file (GIF, PCX, PRF)..........................11
Opening Images (GIF, PCX, TGA, PRF)..............................12
Scaling the image while loading..................................12
Loading image into Virtual Screen................................12
Overlaying or Averaging when loading.............................12
Options when loading.............................................13
Displaying available memory......................................14
Setting Preferences..............................................14
The Virtual Screen...............................................14
Move/Create a Virtual Screen.....................................14
Keys to move the Virtual Screen..................................15
Virtual Screen sizes / Disk Space................................15
Viewing the Virtual Screen.......................................16
Clearing the Virtual Screen......................................16
The Clipboard....................................................16
Cutting to the clipboard.........................................16
Pasting from the clipboard.......................................16
Clipboard Copy Modes.............................................16
Saving the contents of the Clipboard to disk.....................17
Restoring (OPEN) a previously saved clipboard file...............17
Viewing the contents of the clipboard............................17
Re-mapping the clipboard palette.................................17
Tool Menu........................................................18
Current Fill Pattern / Line Style................................18
Triangle.........................................................19
Rectangle........................................................19
Circle...........................................................19
Ellipse..........................................................19
Poly.............................................................20
Line.............................................................20
Point............................................................20
How to use the Paintbrushes......................................20
Paintbrush Toggles...............................................20
Adding Text......................................................21
Font Style.......................................................21
Font Size........................................................21
Fat-Bit editor...................................................21
Copy.............................................................21
Copy Paintbrush Switch...........................................22
Eraser...........................................................22
Floodfill and Floodfill options..................................22
Curve............................................................23
Scale............................................................23
Zoom X 2.........................................................23
Measuring Distance...............................................23
Calibrating the distance.........................................23
Twirls...........................................................23
Mirror...........................................................23
Flip.............................................................23
SPIN.............................................................23
Rotate...........................................................24
Terrrain Fractal.................................................24
Plasma Fractal...................................................24
Controlling the palette..........................................24
Setting color values.............................................24
Color Blender....................................................24
Cycling the palette while editing it.............................25
Increasing the overall Red, Green or Blue (BLOCK)................25
Color Cycling....................................................25
Re-aligning the palette..........................................25
Sorting the palette..............................................25
Adjust Menu (Fixing Black and White Dots!).......................26
Reducing the amount of colors in the palette.....................26
Converting a color palette to greyscale..........................26
Halftoning an image..............................................26
Built in palettes................................................26
Saving and Restoring palettes to/from disk.......................26
Image Processing.................................................26
Setting the work area............................................27
Area Histogram...................................................27
Point Histogram..................................................27
Adjusting the clip values........................................27
Contrast Stretching..............................................27
Filters..........................................................28
Sharpening.......................................................28
Laplacian........................................................28
Horizontal.......................................................28
Average..........................................................28
Median...........................................................28
Creating a custom filter.........................................28
Controlling the filter boost.....................................28
Effects (Transforms).............................................28
Relief...........................................................28
Reverse..........................................................28
Solarize.........................................................28
Melt.............................................................28
Bentley..........................................................28
Oil..............................................................29
The Jiggler!.....................................................29
Replicate........................................................29
Setting the video mode (Screen Resolution).......................29
Quiting..........................................................29
Known problems and answers to common questions...................30
Examples and Tutorial............................................32
Image Processing References......................................32
Product Support..................................................33
bug Reports......................................................33
Black and White dots.............................................33
Virtual Video, what is it?.......................................33
Best Fitting the palette (Re-mapping)............................34
Color Averaging..................................................34
How to contact the author........................................34
Getting Upgrades.................................................35
Upgrade Notes....................................................35
Distribution Policy..............................................35
Shareware Vendors, please read...................................35
Image file formats...............................................36
How was IMPROCES written?........................................37
The IMPROCES Team................................................38
Special Thanks...................................................38
Legal Stuff......................................................39
Disclaimer.......................................................39
Users License....................................................40
INTRODUCTION
IMPORTANT NOTE: if you are upgrading to version 3.0 of IMPROCES
from a prior version, you should read the UPGRADE NOTES section
near the end of this manual. Also, now included in the package is
PRIMER.DOC, an Image Processing and VGA primer.
Why is IMPROCES:
Do you have a SVGA video card? Tired of software that won't use
your SVGA modes? I am, I have an Ahead SVGA card with 1 meg of RAM
and I couldn't find any software that would do 1024x768x256. With
the help of a SVGA BGI driver for Borland languages written by
Jordan Hargrave, I wrote some! The following video cards are
supported:
Ahead, ATI, Chips & Tech, Everex, Paradise, Trident, Tseng (both
3000 and 4000 chipsets) and Video7, any card w/ VESA capability.
Modes from 320x200x256 through 1024x768x256 are supported. If you
run into a mode that you know your card supports but the program is
having trouble with, let me know and I'll relay the info to the
author of the Video Driver and try to get it fixed. I need to know:
Video card make and model, chipset the card is based on and how
much RAM is installed on the video card and what mode is giving you
trouble. If your card is not one of the ones mentioned above and is
not based on one of the above chipsets, it will be treated as a
generic VGA and modes over 320x200x256 probably will not work. I
will not be able to do anything about these generic cards. NOTE:
Virtual modes up to 2048x2048 will work on any VGA card.
IMPROCES has many features: Image contrast enhancement, Histograms,
Sharpening by convolution, Custom filters, Full control of the VGA
palette, Clipboard, Five Fonts in five sizes, FAT BIT editor, many
drawing tools, flips, mirror, Color Cycling, Plasma and terrain
fractals, SVGA modes, UNDO, XMS/EMS support, on and on and on. This
is a feature packed program. Take the time to master it and you be
producing images that you never dreamed of! The best thing about
IMPROCES is that it is easy to use and it is fun to play with!
SHAREWARE INFORMATION
REGISTERED USERS: THANK YOU!!! Place your IMREG.KEY in the same
directory as the IMPROCES.EXE file. The IMREG.KEY file contains
your name and registration number. Please do not modify IMREG.KEY
in any way. The program checks this file each time it runs and
disables the registration screens so the program will run without
delay. Also, if you are going to let others have a copy of
IMPROCES, please do not give them a copy of your IMREG.KEY file.
UNREGISTERED USERS, PLEASE PAY FOR THIS SOFTWARE:
Regardless of how you acquired this program, if you are not a
registered user of IMPROCES, you did not pay for it and you should
if you want to continue to use it. Please read on...
1
IMPROCES is a very powerful program. It took a long time to write
and there are still many enhancements planned for the future of it.
A registration of $25 ($35 outside of North America) is required if
you wish to continue to use IMPROCES after you try it. A single
registration is all it takes, you will be registered for life. For
a minimal fee to cover postage, you can receive upgrades by mail or
you can wait to get upgrades from your favorite BBS.
Why register?
There are no differences between the registered version of IMPROCES
and the unregistered version. Registration disables the opening and
the ending screen so the program will start running without delay
and you will not be required to press a key to exit. In addition to
the opening and closing screen, when you save an image file, the
program will put up a "nag window" prompting you to click a mouse
button. Registration disables this "feature" as well. I added these
"features" as reminders to unregistered users, not to harass them.
The unregistered version and the registered version are identical,
with the exception of the aforementioned "features".
BUSINESS USERS PLEASE NOTE:
If this program is to be used by a BUSINESS, it MUST BE registered
prior to its use. You may not evaluate it for the purpose of making
a profit. Registrations are given on a SINGLE USE ONLY license,
meaning the program may be used on a single machine (CPU) at one
time. Although, it can reside on as many machines as you want, it
must not be used on more then one at one time. A site license is
negotiable, contact the author for more information.
HOW TO REGISTER
Mail your registration to: ($25, $35 outside of North America)
John Wagner
6161 El Cajon Blvd
Suite B-246
San Diego, CA 92115
California residents, please add the appropriate sales tax. Outside
of the United States and Canada, registration is $35.
There is an ASCII file that is distributed with this package
called: INVOICE.DOC, you may print out this file on your printer
and mail it in, or you can just send the following information:
Name (First & Last)
Street Address
City, State, ZIP
Amount of $ enclosed
Version of program you currently have
2
Specify floppy disk format, 5 1/4" 360K or 3 1/2" 1.44 meg. Checks
and Money orders only please. PLEASE, DO NOT send greenbacks! If
your registration is received within two weeks of the planned
release of a major upgrade, I will hold your registered version
until the upgraded version is released. Please make all checks and
money orders payable to John Wagner.
WARNING NOTICES
If you read nothing else, please read this: Run IMPROCES from a
sub-directory on a Hard Disk. Make sure you have at least 1.5 meg
free on the hard disk that IMPROCES is installed and run from. If
you plan to use the Virtual Video modes, make sure you have at
least 5.5 meg of free hard disk space.
Don't try to switch your video hardware into a mode you know it
doesn't support. There is no checking for the proper video hardware
with the exception that the program checks for a VGA card. Use the
Set Preferences option to lock out the higher video modes if your
card doesn't support them. Use the version of the SVGA256.BGI file
that it is provided with this package. I modified the BGI driver
slightly and the "stock" version of it won't work properly with the
program.
Here is a list showing what modes your VGA card should support:
VIDEO MEMORY: HIGHEST MODE:
64K (is there such a thing?) 320x200x256
256K (on chipsets mentioned) 640x400x256<─┐
Note: Some cards don't support this mode.──┘
512K (SVGA Cards) 640x480x256
512K (SVGA Cards) 800x600x256
1024K (1 meg) 1024x768x256
DO NOT EXPERIMENT WITH VIDEO MODES YOUR CARD CAN'T SUPPORT!!!! DO
NOT TRY TO SWITCH TO A HIGHER MODE TO "JUST SEE" IF IT WILL WORK!!!
I've never seen it happen, but supposedly you CAN DAMAGE your
hardware. Care to take a chance with your VGA hardware? Don't do
it! I will not be liable in any way for any damages, real or
otherwise that this program may cause!
Do not change the name of the program! You may place IMPROCES in a
directory specified by your path and run IMPROCES from any drive
(hard drive STRONGLY recommended) or directory. The program will
find the IMPROCES.CFG, IMREG.KEY, SVGA256.BGI and font files
(*.CHR) ONLY if you haven't changed the name of the program.
Do not compress the IMPROCES.EXE file with an executable file
compressor. IMPROCES uses overlays and if compress the IMPROCES.EXE
file it will not run properly.
3
SYSTEM REQUIREMENTS
Memory:
You need: At least 512K RAM free after loading DOS and TSR's etc.
The more memory you have over 512K before starting the program, the
better. The same goes for EMS and XMS. What can I say, graphics
programs are memory HOGS! Especially ones that support 256 colors.
I tried as much as possible to streamline IMPROCES. NOTE: The
presence of XMS on your machine is not enough, you need to have a
extended memory driver such as the widely used HIMEM.SYS.
Processor:
IMPROCES will run on any MS-DOS machine, from a 8088 to a 80486 or
greater. I've seen IMPROCES run on a 4.77 mhz 8088 and lets just
say that the speed wasn't impressive, but it did run! A math chip
will be utilized if one is available, but the only functions that
use floating point numbers are the curve, scale and filters that
use convolution and the circular gradient floodfill. I use integer
math as much as possible throughout those functions by pre-
computing floating point values and saving them in look up tables
of integers if the computation is going to be made more then once.
Video:
IMPROCES supports SVGA's up to 1024x768x256. If your card supports
a resolution that your monitor doesn't, DON'T TRY IT!!! A VGA card
and monitor is a requirement to run the program. NOTE: Make sure
your monitor as well as your video card supports the modes you try
to use. In this manual, all video modes refer to 256 color video
modes.
Mouse:
A Microsoft compatible mouse and mouse driver is required. IMPROCES
will not run if there is not a mouse installed.
DOS 3.0:
IMPROCES requires that you are running DOS 3.0 or greater. It has
been tested and runs fine under DOS 5.0.
Hard Disk:
A hard disk is pretty much a requirement with at least 1.5 meg of
free space at run time. 5.5 meg should be available if the Virtual
Screen Modes are used. Remember, if are using True Color Targa
files, Virtual Screen Modes, the IMPROCES clipboard and large GIF
files, hard disk space fills up in a BIG HURRY! If you use the
2048x2048 Virtual Screen modes, that alone will use 4 MEG of hard
disk space! IMPROCES uses swapfiles for some operations. Provided
the program terminates normally, all the swapfiles will be erased.
The swapfile is placed in the same directory that IMPROCES is
stored in, or on the drive and in the directory that is specified
by a TMP or TEMP variable SET in your environment. If something
happens and the program terminates abnormally, you can delete the
swapfiles manually. See the section entitled "SWAPFILES" for more
4
information. NOTE: The clipboard and scale functions use swapfiles
regardless of the presence of EMS or XMS. The clipboard always, and
the scale depending on the size of that the image is being scaled
to. The UNDO BEFORE PAINT option will use EMS, XMS or a swapfile.
QUICK START
If you are the type of user who likes to jump right in (I am!),
follow these instructions to start up the program. Don't forget to
come back and read the rest of the manual though! There is a lot
more to IMPROCES then meets the eye.
1. Change to the drive IMPROCES is on:
Assuming IMPROCES is stored on your C: drive, type:
C:
and tap your Enter key
2. Change to the directory IMPROCES is stored in:
Assuming IMPROCES is stored in your C:\IMPROCES directory, type:
CD \IMPROCES
and tap your Enter key
3. Run the program, type:
IMPROCES
and tap your Enter key
4. Have fun! Be sure to come back and read the rest of the manual!
SWAPFILES
IMPROCES uses swapfiles. You can control where these swapfiles (and
Virtual Video Screens) are placed...
DOS keeps a set of environment variables that programs can use. Of
these variables, one of them is usually called TMP or TEMP. To see
what variables you have set, from the DOS command line type SET and
hit ENTER. The current environment variables will be listed. You
can set these variables from the command line or from your
AUTOEXEC.BAT file (autoexec.bat is a more popular and a better
approach). To set the TEMP variable so that IMPROCES will place all
of its swapfiles in the C:\TEMP directory, type the following at
the DOS command line or place it in you AUTOEXEC.BAT file and re-
boot your machine:
5
SET TEMP=C:\TEMP
- or for TMP -
SET TMP=C:\TEMP
If you do not have a TEMP or TMP variable set, IMPROCES will place
its swapfiles in the directory where the IMPROCES.EXE file resides
on your hard disk. In either case, IMPROCES will erase the
swapfiles when it no longer needs them or when the program ends.
TEMP, TMP and a RAMDISK:
If you set the TEMP or TMP environment variables to point to a
RAMDISK make sure there is sufficient space on the RAMDISK for the
swapfiles prior to running IMPROCES. Keep at least 1.5 meg free at
a minimum. Here is why: The clipboard can use up to 768K of space
for a swapfile (up to a 1024x768 clipfile), if you set UNDO on or
scale to 1024x768, that can use 768K of disk space. Of course this
is a worst case scenario, if you don't use the 1024x768 mode, the
required amount of free disk space will drop. Also, if you never
load anything into the clipboard, that will drop the requirement.
Be safe, keep 1.5 meg free! If you get error messages complaining
about insufficient drive space, check the TEMP or TMP variables and
the drive/directory that it specifies, if you don't have a TEMP or
TMP variable then check the directory IMPROCES is in when it is
run.
IMPROCES uses overlays. In order to allow for as much free RAM
below 640K while the program is running, IMPROCES uses Borlands
VROOM technology to overlay portions of itself in its .EXE file.
For this reason, DO NOT COMPRESS the IMPROCES.EXE file with an
executable file compressor such as PKLITE or LZEXE.
FOR YOUR PROTECTION
In the FILE menu, there is an option called "Set Pref" (Set
Preferences). In this dialog box, you can custom configure
IMPROCES for your system and control the UNDO feature for the paint
menu. The five options are:
UNDO BEFORE PAINT:
When this is set to ON, the on-screen image is saved to a EMS,
XMS or a swapfile before you enter the PAINT menu. When you exit
the PAINT menu, IMPROCES will ask if you want to keep the changes
you made.
SCREEN STARTUP MODE:
This controls the video mode that the program starts up in. It must
be lower then or equal to the highest video mode.
HIGHEST VIDEO MODE:
This controls the highest video mode the program will let you
access. This is a safety feature for people whos video card does
not support all of the modes that IMPROCES is capable of.
6
USE EMS, XMS OR BOTH:
Click on the appropriate radio button to toggle the use of either
type of memory on or off. You can keep then both on and IMPROCES
will attempt to use EMS first and then XMS.
Clicking on SAVE will save the parameters you setup in a file
called IMPROCES.CFG. Please do not distribute your IMPROCES.CFG
file with the program, as other users preferences/machines may be
different from yours.
GUI, MENUING and CONVENTIONS:
The following conventions are used in this manual:
Video:
All video modes refer to 256 color video modes.
Mouse:
LMB = Left Mouse Button
RMB = Right Mouse Button
Click on = Press a mouse button and release it (usually implies
LMB)
The mouse hot spot is:
┌O┐_______Right Here!
│ └┐
│ └─┐
│ └┐
│ └┐
│ └┐
│ └┐
│ └┐
│ ┌─┐ └┐
│ ┌┘ └┐ └┐
│ ┌┘ └─┐ │
└─┘ └──┘
When the program starts you will see the menu bar at the top of the
screen. (See Diagram 1.0)
Diagram 1.0 Menu Bar
Current Palette
───────┬───────
│
┌───────────┼──────────────────────────────────┐
│ ------------------------------ │
├─────┬─────┬─────┬──────┬────────┬─────┬──────┤
│ File│ Clip│ Tool│ Color│ Enhance│ Mode│ Quit │
└─────┴─────┴─────┴──────┴────────┴─────┴──────┘
7
Click on the option you want and a sub-menu will drop down. To
close a sub-menu, choose another item from the top-menu or press
the RMB. Some sub-menus have sub-menus within them, when a sub-
menus option is another sub-menu, the option will be annotated with
three periods after the option (See Diagram 1.1). To get out the
sub-menus sub-menu, choose an option from the top-menu or press the
RMB. If you are anywhere in the pull-down menu system and press the
spacebar, the icon paint menu will pop-up. You can also use the
keyboard arrow keys to choice options from the menus. The ESC is
the equivalent of the RMB and the ENTER will select the option with
the highlight bar over it.
Click the RMB to close a drop down menu. To close the top menu bar,
click the RMB continuously until it goes away. When the top menu
bar is hidden, the proper color 0 and 255 values are restored and
the mouse may be toggled on or off with the LMB. Click the RMB
again to bring the top menu bar back.
If you are using IMPROCES with a capture program, you can back out
of all the menus by clicking the RMB until the top menu bar goes
away. If you want to hide the mouse so it won't show in your
capture, click the LMB once. NOTE: Make sure your capture program
can handle the SVGA modes that IMPROCES is capable of using,
failure to do so may cause some very unpredictable and undesirable
results.
Diagram 1.1. Sub-Menu
┌──────────────────────────────────────────────┐
│ ------------------------------ │
├─────┬─────┬─────┬──────┬────────┬─────┬──────┤
│ File│ Clip│ Tool│ Color│ Enhance│ Mode│ Quit │
└─────┴────┬┴─────┴─────┬┴────────┴─────┴──────┘
│ Tools... ─┼──┐Option has sub-menu
│ Scale │ │ ──────┬──────
│ Zoom X 2 │ ├─────────┘
│ Line Mes │ │
│ Calibrate │ │
│ Twirls... ─┼──┘
│ Terrain │
│ Plasma │
└────────────┘
Filepicker:
Whenever you load an image, palette or clipfile, you will use the
filepicker. In the filepicker, the sub-directories will be the
first in the list and will be followed by a <DIR>. Click on a sub-
directory to change to it. If there are more files then there is
room in the selection box, click on the "PGDN" button to view the
next page of files and click "PGUP" to go up one page. You can use
the use the keyboard "Page UP" and "Page DN" instead of the mouse
buttons if you want, the same goes for the keyboard arrow keys and
the ENTER and ESC keys. This might be desirable if there are a lot
8
of files in the directory you are in, as you can hold down the
keyboard keys to rapidly flip through the pages of files instead of
clicking your mouse button repeatedly. Select a file by clicking on
it with the LMB, or press the RMB to cancel the selection of a
file. If you change to a sub-directory, that directory will become
the active directory (if a file is selected in it) and any file not
saved with a PATH before it will be saved to the current directory.
If you click the RMB to cancel the file selection, the directory
you started in will be restored as the current directory. NOTE: The
filepicker will view a maximum of 4000 files in any directory.
(See Diagram 1.2)
Diagram 1.2. Filepicker
┌───────────────────┐
│ \ <DIR>─┼─── Goes to root directory
│ .. <DIR>─┼─── Goes up one sub-directory
│ ANIMALS <DIR>─┼─── Switches to the
│ SATELITE <DIR> │ ANIMALS directory
│ ASTRO <DIR> │
│ JOHN.GIF │
│ SHERRY.GIF │
│ MARTIN.GIF │
│ MOM.GIF ──────────┼─── Click here to select MOM.GIF
│ DAVE.GIF │
│ FRED.GIF │
│ JOE.GIF │
│ ┌─────┐ │
│ │PG DN├─┼─── Click here to Page Down
│ └─────┘ │
└───────────────────┘
Color Bar:
The color bar is used to display the palette in a straight line
with two re-positionable lines under it that define the two points
for which you want the function that called the color bar to use.
To move the lines, click on them or the two rectangles directly
under the palette. Click the DONE button to perform the desired
action or click the RMB to cancel to the function using the color
bar. Some functions that call the color bar, will allow you to use
color 0 and some will not. See diagram 1.3.
9
Diagram 1.3. Color Bar
┌─────────────────────────────────────────────────────────────────────┐
│ ┌──────────────────────────────────────────────────────┐ ┌──────┐ │
│ │ Current Palette │ │ DONE │ │
│ └──────┬─────────────────────────────────────────────┬─┘ └──────┘ │
│ │ ─── Repositinable Bars ──────────────────── │ 45 │
│ 245 │
│┌─┬───────────────────────┬─┐┌─┬──────────────────────┬─┐ │
││<│ │>││<│ │>│ │
│└┬┴─┼─────────────────────┴┬┘└┬┴────────────────────┼─┴┬┘ │
└─┼──┼──────────────────────┼──┼─────────────────────┼──┼─────────────┘
│ └Click here to grab │ │ Click here to grab─┘ │
│ lower bar │ │ upper bar │
│ │ │ │
│ │ │ │
│ │ │ │
└───── Moves the bar one in the desired direction ────┘
Button Types:
IMPROCES uses three types of buttons to get user input from the
mouse. The button types are explained below:
1. The Radio Button. This is a toggle switch that will generally be
an ON/OFF option or specify some kind action to be performed after
a CONTINUE button has button pressed. When a Radio Button is
activated (ON), it's inner area will have a filled circle in it.
When it has been deactivated (OFF), it's inner area will be black.
2. The 3D Push Button. This button is a delayed reaction button in
that the specified action (ie: CONTINUE, CANCEL, VIEW, Change Video
Mode, etc...) doesn't take place until after the button has been
released. When you push a 3D button, the button will remain
depressed while the mouse is still within the boundary of the
button. When the mouse button is released, if the mouse cursor is
still within the boundary of the button, the desired action will
take place. If the mouse button is released and the cursor is not
within the boundary of the button, the program will continue as if
you never pressed a button and continue to wait for input.
3. The Immediate Action Button. This button is identifiable as a
rectangular button that is not 3D. When a mouse button is pressed
with the cursor within the boundary of this button, the specified
action takes place immediately without waiting for the mouse button
to be released.
RUNNING IMPROCES
IMPROCES.EXE, IMPROCES.CFG, SVGA256.BGI file and the font (*.CHR)
files may be kept in a directory accessible through your PATH
statement so that the program may be run from any drive or
directory (do keep all the files together in the same directory).
Because of this, you may start IMPROCES from a floppy drive. Also,
10
if you have a TMP or a TEMP variable SET in your environment,
IMPROCES will places its swapfiles there, otherwise it will place
them on the drive and in the directory that IMPROCES is stored. For
more information on your PATH statement and environment variables,
consult your DOS manual.
All of this aside, to start IMPROCES, change to the drive and
directory the IMPROCES files are stored in and type IMPROCES and
press enter. If the IMPROCES files are accessible via your PATH
statement, just type IMPROCES from anywhere (somewhere near the
computer will be desirable!) and press enter.
SAVING IMAGES
IMPROCES will save image files in three formats, GIF, PCX and PRF.
The GIF and PCX formats are the most popular. The PRF format is of
little use to anyone except programmers who want to include image
files created by IMPROCES in programs they write that utilize the
Fastgraf graphics library from Ted Gruber Software. NOTE: IMPROCES
appends the proper file extension for all image formats, regardless
of whether one is specified when the filename is entered. Also,
IMPROCES saves the image in whatever video mode the program is in,
regardless of what the resolution the image was when it was loaded.
FILE...:
SAVE...
SAVE GIF:
Enter the name to save as (path is optional) and press return (or
LMB). Press Escape (or RMB) to abandon the save. If the file
already exists, IMPROCES will ask if you want to overwrite it.
SAVE PCX:
Same as GIF, only for PCX files. The image will be saved as 256
color PCX file, regardless of whether it started out as a 2,4,16 or
256 color image to begin with.
SAVE PRF:
This is an option included for programmers who wish to use IMPROCES
to draw images and save them for use with the Fastgraph Programmers
Library from Ted Gruber Software. Only REGISTERED users may use
images created by IMPROCES in their Fastgraph programs. After
entering in the name of the file to save , define the area to save
by rubber banding a rectangle around the region to save and then
click the LMB to continue or the RMB to abandon the save. IMPROCES
will then show you the dimensions of the image (Fastgraph requires
you have this, so be sure to write it down) and then gives you the
option of micro-adjusting the width and length. Click the
"Continue" button to save the image or click "Cancel" to abort the
save.
11
NOTE: As of version 1.04 of Fastgraph, you cannot have a video mode
over 640x480 in a Fastgraph program, you should keep this in mind
when creating your .PRF files. To load and display a PRF file using
Fastgraph, use:
fg_dispfile (char *filename, int width, int format);
Where filename is the name you specified, width is the width you
specified, and format is 0 for standard pixel run format that
IMPROCES saves the image as. The 16 color, Packed Pixel Run Format
is not supported by IMPROCES for saving. IMPROCES puts a short
header file on the front of PRF images it saves. The header file
contains the image height and width and the format mode. For some
sample C code on using the header in your own program, call the
DDBBS and download IMFGHEAD.ZIP.
NOTE: Unregistered users of IMPROCES may not use Pixel Run Format
files created with IMPROCES in their programs, whether they are
registered users of Fastgraph or not. For more information on
Fastgraph, see the end of this manual.
OPENING IMAGES
IMPROCES will load in images in four formats. GIF, PCX, TGA and
PRF. GIF, PCX and TGA formats of any size may be loaded into any
supported video mode.
If the image is larger then the screen size, you have two options
as to how to handle the oversize image.
1. Scale the image to fit the screen. Just clicking on the CONTINUE
button (or hitting ENTER) will scale the image to fit the size of
the screen in the current video mode. Using this Scaling option,
you can use the OVERLAY and AVERAGE loading schemes.
2. Use a VIRTUAL screen. By clicking on the VIRTUAL button (or
hitting the Space Bar) you can load the image into a Virtual Screen
and then pan around the image to view and edit it. The Virtual
Screen mode only works in video mode 320x200, so the program will
switch to that mode when the VIRTUAL button is pressed. Also, you
cannot use the OVERLAY and AVERAGE loading schemes when using a
virtual image, although you may use these loading schemes when
loading images on top the Virtual Screen. NOTE: When using OVERLAY
and AVERAGE on top of a Virtual Screen, only the portion of the
image that is visible will be used. If you change video modes, the
Virtual Screen will be erased if the video mode is smaller then
the Virtual Screen. See the section entitled "Virtual Video, what
is it?" near the end of this document.
Overlaying and Averaging:
GIF, PCX and TGA images may Overlaid or Averaged with the current
image on the screen. These options are explained below. When an
image is loaded and Overlay or Average mode is selected, you will
12
have the choice of whether to use the current palette that is on-
screen and the incoming palette and image will be "best fitted" to
the on-screen palette or you may use the incoming palette from the
file you are loading and the on-screen image will be "best fitted"
to the incoming palette. You may also "Split the Palette".
Splitting the palette will reduce the on-screen image to 128 colors
and then reduce the incoming images palette to 128 colors.
Splitting is sometimes the best solution when images have palettes
that are very different. See the section entitled "Best Fitting the
Palette" near the end of this file. (TGA palettes may not be split)
PRF images do not have any of the above mentioned options. The
screen resolution must be equal to or greater then the PRF image
you want to load. PRF images cannot be Overlaid or Averaged either.
OPEN...
OPEN GIF:
Use the filepicker to select a file to load. After you select a
file to load, you will be presented with an Image Information
Control Panel that will give you the: Image name, Image dimensions,
Current Screen Resolution, and the Overlay and Average options.
You will have four options to choose from that control how the
image is loaded: (GIF, PCX and TGA only)
1. OVERLAY does not clear the image on the screen, instead any
spots on the image being loaded that are color 0, are replaced with
the pixels that were left by the original image. This a good option
for framing selected parts of an image.
2. AVERAGE does not clear the image on the screen either, instead
it takes an average of the pixel being loaded with the one on the
screen as the image is loaded. See the section entitled "Color
Averaging" near the end of this file.
3. CLEAR will clear the screen and load the new image fresh. NOTE:
The Up and Down Arrow keys will move the load mode between the
OVERLAY, AVERAGE and CLEAR options.
4. The RESOLUTION options will let you change video modes before
you load the image. You may display any resolution image in any of
the available resolutions (GIF,PCX and TGA only). If the image you
want to display is larger then the screen size, it will be scaled
to fit as it is loaded (GIF, PCX and TGA). The keyboard equivalent
of the RESOLUTION buttons are:
1 = 320x200, 2 = 640x400, 3 = 640x480, 4 = 800x600, 5 = 1024x768.
Click on "CONTINUE" to continue with loading the image, or click on
"CANCEL" to cancel the loading of the image or click on any of the
resolution options. NOTE: If you change video modes before loading
an image, the screen will be cleared regardless of whether you
select Average or Overlay.
13
OPEN PCX:
Same as OPEN_GIF, only for PCX files.
OPEN TGA:
Same as OPEN_GIF, only for TGA files. TGA stands for True Color
Targa file. IMPROCES only supports the Type II uncompressed Targa
format such as those made with the popular Ray Tracing program DKB.
See section entitled "True Color Targa" near the end of this file.
OPEN PRF:
Loading a PRF file is slightly different then the other formats.
After the file to load is selected, a check is made if the image
has a header file (was it saved by IMPROCES). If so the image
dimensions will then be checked, if it is to wide or to long for
the current video mode, it will not be loaded. If there is no
header file found, you will be prompted for the image dimensions
(only the width is actually used) and the format that the image is
saved in. The image will then load from the bottom left corner of
the screen of without clearing the screen first. I didn't put in
the options of clearing, overlaying and averaging and scaling for
PRF files because they are not intended to be used like the other
formats.
MEMORY:
Display current memory status. Shows base memory (below 640K),
number of EMS pages available and whether a XMS driver is
available. The amount of free base memory will drop in modes
greater then 320x200. Switching back to 320x200 will bring back
this memory. This is due to the windows taking more memory to save
the contents under them in the higher modes.
SET PREF: (SET PREFERENCE)
See the section above called FOR YOUR PROTECTION for information
concerning the SET PREFERENCE options. Using this you can set up a
custom configuration for IMPROCES and toggle the UNDO feature and
control what type of memory IMPROCES uses.
VIRTUAL..:
IMPROCES will let you load images with sizes up to 2048x2048 into a
Virtual Screen. You must be in Video Mode 320x200 (IMPROCES will
switch you if you aren't). After and image is loaded into a Virtual
Screen, you can scroll though the image and edit any part of it.
You can also create your own Virtual Screens. Some of the other
IMPROCES functions will not work with the virtual screen. They are
noted with their descriptions.
MOVE/CREATE:
This option lets you pan around a previously created Virtual Screen
or if one doesn't exist, you can create on. If you are in a mode
greater then 320x200, you can load the physical screen into a
virtual screen using this option. This is useful if you want to do
close up editing of a large image.
14
Moving Around the Virtual Screen:
You are first asked if you want to "Save the changes made to this
portion of the Virtual Screen". This is another advantage to the
Virtual Screens in that it can provide you with another level of
UNDO. If you answer "YES", the changes will be saved. If you answer
"NO", the changes won't be saved. Either way, after you answer you
can move the Physical Screen around the Virtual Screen. The current
coordinates of the Physical Screens top-left corner are shown.
Press the LMB or ENTER key when you are at the are you want edit.
Rolling the mouse will move you 20 Rows/Columns at a time. The
following keyboard commands also work:
Key: Action:
-----------------------------------------------
Left Arrow One Column Left
Right Arrow One Column Right
Down Arrow One Row Down
Up Arrow One Row Up
Ctrl-Left Arrow 20 Columns Left
Ctrl-Right Arrow 20 Columns Right
Ctrl-Down Arrow 20 Rows Down
Ctrl-Up Arrow 20 Rows Up
Page Up 200 Rows Up
Page Down 200 Rows Down
Home Top Left Of Screen
End Bottom Right of Screen
Ctrl-End 320 Columns Left
Ctrl-Page Down 320 Columns Right
Creating A Virtual Screen:
To create a Virtual Screen, you must select a Virtual Screen Size.
IMPROCES will check if there is enough Disk Space to create the
Virtual Screen.
You may create the Virtual Screen in any of the following sizes:
Virtual Screen Size: Amount of Free Disk Space Required:
-----------------------------------------------------------------
512x512 262,144 bytes - 256k
640x400 256,000 bytes - 250k
640x480 307,200 bytes - 255k
800x600 480,000 bytes - 469k
1024x768 786,432 bytes - 768k
1024x1024 1,048,576 bytes - 1 Megabyte
2048x2048 4,194,304 bytes - 4 Megabyte
If you are in any video mode besides 320x200, IMPROCES will ask if
you want to save the current screen to the new Virtual Screen. If
you answer YES, IMPROCES will create the Virtual Screen as the same
size as the current screen and switch you to video mode 320x200.
After you are done editing in Virtual Mode, you can change back to
a video mode the same size as or larger then the Virtual Screen and
continue editing. This way you can use the Virtual Screen as a
level of Zoom, or as a full featured Fat-Bit editor (there is an
actual Fat-Bit editor in the TOOL-TOOLS menu).
15
VIEW:
This will scale the entire Virtual Screen into 320x200 so that you
can view it in its entirety. Press the RMB when done viewing.
CLEAR:
This will clear the Virtual Screen and move the Physical Screen to
the top-left corner of the Virtual Screen. For more information
about Physical and Virtual Screens, see the section entitled
"Virtual Video, what is it?" near the end of this document.
THE CLIPBOARD
IMPROCES includes a clipboard for cutting and pasting between
images. The clipboard also has the Overlay and Average options that
the OPEN functions have and it includes a copy of the palette that
is was cut from, so it is more versatile then the COPY option in
the PAINT menu, although it is a little slower.
CLIP...:
CUT:
Define an area to save to the clipboard with this option. To do
this, select a corner and click the LMB. The cursor will disappear
and you can now resize a rectangle that covers the area you want to
copy to the clipboard. Click the LMB when you have defined the
area, or click the RMB to cancel the operation. This option uses a
swapfile regardless of the presence of EMS or XMS. If you cut a
piece from an image and then load an image with a different
palette, and then paste from the first image, the clip image will
most likely look a little different then expected due to the
palette being different. To avoid this, use the REMAP PAL option
in the clip menu when the palette has been changed.
PASTE:
Move the box to the area you want to paste the current contents of
the clipboard to and click the LMB. You will then have 7 options as
to what type of paste you want to do: Copy, Overlay, Average,
Fringe or Spray.
CLIPBOARD COPY MODES:
1. COPY will copy the clip image over the selected area.
2. AVERAGE will average all pixels in the clip image within the
selected area. This mode is very slow, but very good! See the
section entitled "Color Averaging" near the end of this file.
3. Overlay will copy all non-color 0 pixels in the clip image and
leave the pixels where incoming color 0 pixels would be unaffected.
4. Fringe will work the same as COPY, except that the edges will
fringed. Sort of a fade in.
16
5. Spray will "paint" the clip image as if it came out of a spray
can. The center will be solid and as the image goes out from the
center, it will be faded into the image it is covering.
6. Pattern will load the clipfile using the Current Fill Pattern
that is defined in the TOOL-TOOLS menu.
7. Rain will use a raindrop pattern.
Click the RMB to abandon this operation.
SAVE:
Save the current contents of the clipboard to a file. The file will
have a .CLB extension and will be saved in the current directory.
The clipboard palette will have a .CLP extension and the same name
as the clipboard file. NOTE: The saved clipboard palette will be
the palette that the image had when the clipboard was cut.
OPEN:
Copy the contents of a previously saved file to the clipboard. Uses
the filepicker. NOTE: All clipboard files saved with version 1.0 of
IMPROCES should be converted first with the CONVCLIP.COM program
before you try to use them. This file is available on the DDBBS.
Clipfiles from versions prior to 3.0 use the current palette.
VIEW:
This will display the contents of the clipboard in the upper left
corner. If you have changed palettes, use this function before you
paste the clipboard into your image to see how it will look. Click
either the LMB or the RMB to return to the menu.
REMAP PAL:
New for version 3.0 of IMPROCES is the support for clipboard
palette files. Using this option, you can load a new image with a
different palette and then "best fit" the clipboards palette to the
new palette. This is a very useful feature for cutting and pasting
between images with dissimilar palettes. See the section entitled
"Best Fitting the Palette" near the end of this document. NOTE: If
your clipfile is to be used in overlay mode and you had black as
color 0 and you select REMAP, black might not be color 0 in the new
palette and the overlay will not look right. To avoid this problem,
use the SORT option in the COLOR menu before remapping the clip
files palette.
17
PAINTING TOOLS
TOOL:
PAINT...:
You've got to like this, an icon menu...
Paintbrush Switches:
TOOL MENU: ┌────────────────┐ Regular
│ ┌────┬──┐ │ Rainbow
┌──────────┬──────────┬────┴───┬─┴─┬──┴┐ │ │ Burn
│ │ Filled │ Regular│ │ │ │ │ Dodge
│ Triangle │ Triangle ├────────┼───┼───┤ │ └──────────
│ │ │ Rainbow│ │ │ │
├──────────┼──────────┼────────┼───┼───┤ │
│ │ Filled │ Burn │ │ │ │
│ Rectangle│ Rectangle├────────┼───┼───┤ │
│ │ │ Dodge │ │ │ │ Paintbrush
├──────────┼──────────┼────────┼───┼───┤ │ Shapes
Font │ │ Filled |--Add │ │ │ └──────────────
Add │ Circle │ Circle |├────────┼───┼───┤
Pick -------------------------Pick │ │ │
Size ├──────────┼─────────|┼────────┼───┴───┤
│ │ Filled ---Size │ Air ─┼──┐ Airbrush Switch
│ Ellipse │ Ellipse ├────────┴───────┤ └─────────────────
│ │ │ FAT BIT EDITOR │
├──────────┼──────────┼────────┬───────┤
│ │ Filled │ Copy │ Paint─┼──┐ Copy Switch:
│ Polygon │ Polygon ├────────┴───────┤ │ When on: Define
│ │ │ Eraser │ │ image area to use
├──────────┼──────────┼────────────────┤ │ as a paintbrush.
│ │ │ Flood Fill │ │ When off: Regular
│ Line │ Point ├────────────────┤ │ copy.
│ │ │ Curve │ └───────────────────
└──────────┴──────────┴────────────────┘
============────────┐ Current Color
┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┐─┐ └──────────────
├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤ │ Color Selector
├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤ ├────────────────
├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤ │
└┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┘─┘
┌───────────────────────────────────────┐
Click ─┤///////////////////////////////////////│ Current Fill Pattern
here to └───────────────────────────────────────┘
change ----------------------------------------- Current Line Style
Fill Pattern or Linestyle and thickness
CURRENT FILL PATTERN:
CURRENT LINE STYLE:
The filled shapes use the fill pattern that is shown on the bottom
of the menu. The line and the polygon both use the line style shown
just below the current fill pattern. The Floodfill does not use the
Current Fill Pattern. NOTE: The "Pattern" option in the clipboard
paste option uses the current pattern as defined here.
18
To change the current fill pattern or the current line style, click
in current pattern box at the bottom of the menu. Two windows will
appear, one with all of the possible fill patterns and one with the
possible linestyles. The current fill pattern and the current line
style will be underlined. The linestyle has four possible patterns
and two possible thickness's. Click on a new pattern or line style
to change them. Click the RMB when finished to return to the menu.
TRIANGLE: (Triangle)
Move the mouse to where you want one side of the triangle to begin
and press the LMB. Reposition the side until it is where you want
it and click the LMB (or RMB to cancel). Now define the other two
sides of the triangle by moving the mouse until the triangle is the
desired size and click the LMB or the RMB to cancel the triangle.
Either draw another triangle (as before) or click the RMB to return
to the menu.
FILLED TRIANGLE: (Large Filled Triangle)
Same as TRIANGLE, only filled. Filled Triangle uses the current
fill pattern.
RECTANGLE: (Large Empty Square)
Move the mouse to a corner of the rectangle and click the LMB.
Reposition the rectangle until it is where you want it and click
the LMB. Either draw another rectangle (as before) or click the RMB
to return to the menu.
FILLED RECTANGLE: (Large Filled Square)
Same as RECTANGLE, only filled. Filled Rectangle uses the current
fill pattern.
CIRCLE: (Large Empty Circle)
Move the mouse to the spot you want to be the center of the circle
and click the LMB. Resize the circle until it the desired size and
click the LMB or the RMB to cancel. Either draw another circle (as
before) or click the RMB to return to the menu.
FILLED CIRCLE: (Large Filled Circle)
Same as CIRCLE, only filled. Filled Circle uses the current fill
pattern.
ELLIPSE: (Large Empty Ellipse)
Move the mouse to the spot you want to be the center of the ellipse
and click the LMB. Resize the ellipse until it is the desired size
and click the LMB or the RMB to cancel. Either draw another ellipse
(as before) or click the RMB to return to the menu. NOTE: An
ellipse differs from a circle in that it's x and y radius can be
different.
FILLED ELLIPSE: (Large Filled ELLIPSE)
Same as ELLIPSE, only filled. Filled ELLIPSE uses the current fill
pattern.
19
POLY: (Large Empty Rhombus)
Same as line expect the last point is connected automatically to
the first point.
FILLED POLY: (Large Filled Rhombus)
Same as POLY, only filled. Filled POLY uses the current fill
pattern.
LINE: (Diagonal Line w/plus at the end)
Move the mouse to where you want the line to begin and click the
LMB. Reposition the line until it is where you want it and click
the LMB (or RMB to cancel). You can continue drawing from where you
left off or click the RMB to stop drawing and reposition the cursor
to draw another line or click the RMB to go back to the menu.
POINT: (Point in center of box)
Fills the pixel the mouse is pointing to with the current color.
Click the LMB to start drawing and keeps drawing until you click
the RMB. Click the RMB again return to the menu or click the LMB to
start drawing again.
USING THE BRUSHES
The paintbrushes can be used in four different ways. Try them all
to get an idea what each one can do.
BRUSHES: (12 SMALL BOXES ON LEFT EDGE)
Click on desired brush, click the LMB to begin drawing. Keeps
drawing until the RMB is clicked. Click the RMB again to return to
the menu or click the LMB to start painting again.
BRUSH TOGGLES:
The current brush feature is shown in reverse video (Black on
White).
AIRBRUSH SWITCH: (AIR)
When the AIRBRUSH switch is on (Black 'AIR' on white background),
the brush you use will not color every brush point on the brush.
Instead, random points will be colored, like a spray can. Click on
the 'AIR' button to toggle the switch.
REG BRUSH: (REG)
Fills the pixels under the brush shape with the current color.
Click the LMB to "turn the brush on" and click the RMB to "turn the
brush off". Click the RMB while the "brush is off" to return to the
menu.
RAINBOW BRUSH: (RNB)
Fills the pixels under the brush shape with the current color and
then increments the current color by one each time the brush is
moved.
20
BURN BRUSH: (BRN)
Reads the pixels under the brush shape while the "pen is down" and
increments their value by one each time the brush passes over. Has
the effect of "burning in" the area.
DODGE BRUSH: (DDG)
Reads the pixels under the brush shape while the "pen is down" and
decrements their value by one each time the brush passes over. Has
the effect of "fading or dodging" the area.
ADD TEXT:(Add)
Position the cursor to where you want to start entering text and
press the LMB. A horizontal text cursor will appear. Enter your
text. You may use the Backspace key to backup and the Return key to
advance one line down. Press the Escape key (or RMB) to quit
entering text. Either add more text or press the RMB to return to
the menu. NOTE: Once you advance to the next line, you may not go
back up, so make sure what you enter on the line is what you want
before you press Return or the Escape key.
FONT STYLE:(PCK)
To select a new font style, click in the desired fonts box. Press
the RMB to return to the menu.
FONT SIZE:(SZE)
To select a new font size, click in the desired size box. Press the
RMB to return to the menu.
FAT BITS:(FAT BIT)
Select an area to edit using the FAT BIT editor by moving the
rectangle over the area and clicking the LMB. The edit area is
shown on the top left and the edit mode is shown by the "W" and "R"
buttons on the screen. The "W" stands for WRITE (default) and the
"R" stands for READ. You may select a pixel to change to the
current color (shown next to the color selection bar) by pointing
to the edit area and clicking the LMB. To select a new color,
change to the READ mode or use the color selection bar at the
bottom. Select DONE to keep the changes or CANCEL to abandon the
changes.
COPY: (CPY)
Define the area you want to copy and then move the rectangle to the
target area and click the LMB. Keep copying or click the RMB to
undefine the copy source and either define a new source area or
press the RMB to get back to the menu.
NOTE: If you choose a piece of image that is smaller then 32,000
bytes, the image will erased and redrawn as the mouse is moved. If
the piece of image is over 32,000 bytes, a rectangle will show
where the image will be placed. 32,000 bytes is about half of a
320x200 screen.
21
COPY PAINTBRUSH SWITCH: (PRB)
When this switch is on, the COPY function lets you define a piece
of your image to use like a paintbrush. Instead of just copying the
piece of image once when the LMB is pressed, the piece will be
copied wherever the mouse is moved, like a paintbrush.
ERASER: (Small unfilled rectangle)
Move the eraser to where you want to erase and press the LMB. The
eraser keeps erasing until you press the RMB. Press the RMB again
to return to the menu or press the LMB to start erasing again.
FLOODFILL: (FLD FLL)
Floodfill is actually an Area Fill. IMPROCES will first ask you to
confirm the floodfill settings:
The floodfill options are:
TYPE:
Regular: Uses the current color and does a solid fill
using the current color.
Gradient: Uses the current palette and cycles in the
desired direction.
C-Span: Pick the colors that the gradient uses.
DIRECTION:
Horizontal: Colors are cycled horizontally, starting and
ending colors use the Low/High and
C-Span settings.
Vertical: Colors are cycled vertically, starting and
ending colors use the Low/High and C-Span
settings.
Circular: Colors start at the point the mouse is clicked
and are cycled out in a circular fashion. Very
neat when color cycled but a little slower
at filling then regular gradient, especially
in the higher resolution video modes.
Low: -+- Low and high are used to control where the
High: -| palette starts when using the gradient flood.
Shaggy: With a gradient flood, Shaggy produces a
"fuzzy" look to the fill by randomly inter-mixing
the neighboring colors. Very nice effect.
Once you are happy with the settings, click on CONTINUE. Pick a
seed point anywhere on the screen and click the LMB. All areas
within a bordered area will be filled in the specified mode, either
flood or gradient. While the area is being flooded, you may click
the RMB to stop the flood. After the area is flooded, click on a
new area to flood or click the RMB to return to the icon tool menu.
NOTE: Floodfill does not use the current fill pattern, rather it
does a solid fill every time.
22
CURVE: (Small curve)
Define a line (as above) that will cover the two end points of the
curve. Next move the mouse until the curve is where you want it and
click the LMB and continue defining the curve. Click the LMB when
you are through or click the RMB at any time to abandon the curve.
NOTE: If no math chip is present, the curve is drawn in straight
line segments until it is finished, then it is plotted in its
entirety.
SCALE:
Define the source area and then define the target area. This
operation can take a some time and in some situations and a disk
swapfile will be used regardless of the presence of EMS or XMS. A
swapfile will only be used if the destination area is larger then
320x200.
ZOOM x 2:
Position the rectangle over the area you want to ZOOM and click the
LMB. Click the RMB to restore the image or the LMB to keep the
expanded image. Click the RMB, to return to the menu.
LINE MES:
To measure an area on the screen, define a line to measure (as
above) and then the length of the line (in pixels by default or by
whatever unit the program was calibrated for) will be displayed.
NOTE: For overhead imagery, oblique imagery measurements should
only be considered accurate when measured on equal planes as the
calibrated measurement.
CALIBRATE:
By default, IMPROCES measures lines in pixel size units. If you
have a known distance on an image, you can calibrate the program to
measure in the known unit. Stretch a line (as above) over the
distance that is known (a mile, an inch, a nose, whatever) and
click the LMB. Any measurements taken after calibration will be in
the new unit of measure.
TWIRLS...:
MIRROR:
Define a rectangular area that you want to mirror, then choose the
direction you want to mirror the area to from the pop-up menu.
FLIP:
Define a rectangular area that you want to flip. Flips upside down.
SPIN:
Define a rectangular area that you want to spin. Spins from right
to left.
23
ROTATE:
Define a rectangular area that you want to rotate. Rotates 90
degrees to the left. NOTE: No scaling is done. Pixels in the x
(horizontal) direction are shorter then pixels in the y (vertical)
direction. This means that if you choose what appears to a square,
it will be rectangular when rotated.
TERRAIN:
Define a rectangular area to have IMPROCES draw a random 3D terrain
fractal. Then use the color bar to pick what colors to use when
drawing the terrain. The low color is for the water and the high
color is for the land. Terrain doesn't look very good in video
modes under 640x400 and should be drawn in areas that are least as
large.
PLASMA:
Define a rectangular area to have IMPROCES draw a random Plasma
fractal. Then use the color bar to select the range of colors that
will be used to draw the cloud. The Plasma algorithm was taken
directly the Stone Soup Groups "FRACTINT" who so graciously
distribute the source to FRACTINT and to whom I owe full credit for
the Plasma function. Plasma and Terrain are included for their
value as a painting tools, if these Fractals interest you, might I
suggest FRACTINT, by the Stone Soup Group, and the book "Fractal
Creations" by the Waite Group for a reference on how to use
FRACTINT to it's fullest potential.
COLORS...:
SET COLOR:
This is your gateway to the 260,000+ colors of the VGA palette.
Shown on the left are the 256 current colors in the current palette
with a large rectangle to underneath the colors showing the current
drawing color. On the right is the adjuster for the current color
along with the values of the Red, Green and Blue attributes of the
current color.
To select a new color, click on a color in the palette on the left
or select a color from the portion of the image that the color
adjuster hasn't covered. If the color adjuster is covering a color
in the image you want to pick, click on HIDE, the adjuster will be
hidden and you can pick your color by clicking on it with the LMB.
click the RMB to bring back the hidden adjuster. Click in the boxes
to the right to raise or lower the current colors Red, Green or
Blue attributes. When you are done click on the DONE box to keep
the changes you made or click on the CANCEL box to reset the
palette to where it was before you made any changes.
THE "BLENDER":
Another option on the color adjuster is called the blender. Using
the blender, you can smoothly transition between two colors in your
palette. To use the blender, click on the BLEND button. This will
bring up the color bar. Use the color bar to choose the colors you
want to blend between and press DONE. Click RMB to cancel blending.
24
CYCLE KEYS:
You can also cycle the palette while using the palette adjuster.
This is useful if you want blend around the top of the palette. The
'<' and '>' button will move the palette one color in either
direction while the '<<' and '>>' button will put the palette into
motion until a mouse button is hit or the keyboard is hit. There
are keyboard commands for cycling as well, the ',' and '.' keys are
the equivalent of the single cycle buttons and the '<' and '>' are
the same as the continuous cycle buttons.
See "KNOWN PROBLEMS" near the end of this manual for information
concerning the 256 color palette.
BLOCK:
Increases or decreases the overall Red, Green or Blue in all the
colors of the palette. Uses the same interface as the SET COLOR
function and works the same way with the exception that the changes
take place across the entire palette. The palette is re-computed
from the palette as it was when the function started to avoid
palette degradation.
CYCLE:
This will cycle any range of the 256 colors and create quite an
interesting effect and allow for color cycling animation. First you
use the color bar to pick the colors that you want to cycle
between. Click on DONE with the LMB or click the RMB to abandon
color cycling. While the colors are cycling, the left and right
arrow keys control the direction of the cycle while the up and down
arrows define the speed of the cycle. The RMB stops the color cycle
and returns you to the menu. When you save a file, whether it be
PCX or GIF, the color cycle settings are saved in a file with the
same name as the file, only with a .CCL extension. When a file is
loaded, if the correct .CCL file is in the same directory as the
image file, the color cycle information from the .CCL file will be
loaded and used.
RE-ALIGN:
Use this function to identify and locate colors that are not being
used in the current screen image. After selecting this function,
the program will perform a quick histogram of the image and report
how many colors are being used and give you the option of re-
mapping the unused colors to the top of the palette. If you
select "YES", the unused palette entries will be re-mapped to the
top of the palette and the current screen image will be adjusted
so that pixels correspond the proper values. NOTE: This function
will not work with a Virtual Screen.
SORT:
Use this function to remap the palette and the image so that the
colors that are the brightest are moved to the top of the palette.
NOTE: This function will not work with a Virtual Screen.
25
MENU ADJUST:
This function will find the colors in the palette that are closest
to the colors that IMPROCES uses for its menu. This usually will
do away with the problem of Black and White dots. See the section
entitled "Black And White Dots" near the end of this document for
more information. NOTE: Will not work with a Virtual Screen.
REDUCE...
MAKE 8/16/32/64/128:
This will reduce the palette to the specified amount of colors (ie:
8/16/32/64/128) NOTE: Will not work with a Virtual Screen.
PALETTE...:
Color2Grey:
The Color to Grey function converts a color palette to a
Greyscale. NOTE: Will not work with a Virtual Screen.
HalfTone:
Halftones the image on the screen. NOTE: This function will work
with the Virtual Screen, but only the visible area of the screen
will be halftoned.
DEFAULT/ICE/HEAT/GREEN/SUN/GREYSCALE:
IMPROCES has six pre-saved palettes built in. Selecting one of
these replaces the current palette.
SAVE...:
SAVE PAL:
Saves the current palette to a file. Uses the IMPROCES .PAL
palette file format.
SAVE MAP:
Saves the current palette to a file. Uses the popular .MAP file
format which is also used with Fractint and many other programs.
OPEN...:
OPEN PAL:
Loads a palette from a file. Uses the IMPROCES .PAL palette file
format. Uses the filepicker.
SAVE MAP:
Loads a palette from a file. Uses the popular .MAP palette file
format. Uses the filepicker.
IMAGE PROCESSING
This program includes many image processing functions in the
ENHANCE section. A full discussion of image processing is beyond
the scope of this manual and the ENHANCE functions will be
explained only briefly. See the section on REFERENCES for
information on how to get more information on Image Processing.
NOTE: The IMPROCES pack includes a ASCII file called PRIMER.DOC,
which is a brief introduction to image processing.
26
ENHANCE...:
NOTE: All ENHANCE functions that start with GREY (example:
GreySharpen) are intended for images using the ICE, HEAT, GREEN,
SUN or GREYSCALE, palettes. The program will not stop you from
using a GREY ENHANCE function on an image with other palettes, the
fact is however, the results will be meaningless and random. To
convert a color palette to one of the above, use the Color2Grey
option in the COLORS-PALETTE menu. The functions that begin with
COL (example: ColSharpen) are intended for any color palette. The
COL functions are a lot slower then the GREY functions. You can
use the COL functions on any palette, but for the best results use
the GREY functions on their intended palettes. The AVERAGE and
MEDIAN filters work with any palette.
SET WORK AREA:
All processes in the enhance menu work on a specified rectangular
work area only. To redefine the current area, move the cursor to a
spot you want to be one corner and click the LMB. Resize the work
area until it is the size you want and click the LMB. Click the RMB
to cancel the re-sizing. When you are done, click the RMB to return
to the menu.
AREA HISTO(GRAM):
A histogram takes a measurement of the pixels in the work area. The
histogram displays this measurement in values called BINS. There
are 256 BINS, each corresponding to each of the 256 possible color
values. BIN 0 is displayed to the left and BIN 255 (256 BINS, 0
thru 255) to the right and all BINS in between are represented. The
Max BIN is displayed at the bottom. To see the value of a specific
BIN, click on it's line or the color on the bottom with the LMB. To
save the histogram to disk, press the 'S' key and enter the
filename to save it as or enter PRN to send the information to the
default printer. Click the RMB to restore the image.
POINT HISTO(GRAM):
Take the measurement of a single point. Click on the desired point
with the LMB. Displays the coordinate, Color Value and Red, Green
and Blue attributes of the color. Click the RMB to return to the
menu.
ADJUST CLIP:
The clip values are used in the CONTRAST STRETCH functions.
Depending on which style of contrast stretch you want to perform,
the High Clip and Low Clip will be adjusted differently.
CONTRAST STRETCH:
Uses the clip value to cut the stretch off at the first low BIN
with a value equal to or greater then the Low clip and the first
high BIN with a value equal to or greater then the High clip. NOTE:
Intended for GreyScale images only.
27
CONTRAST VSTRETCH:
Uses the CLIP values as the Low and High BIN to cut the stretch off
at. NOTE: Intended for GreyScale images only.
CONTRAST LSTRETCH:
Uses the CLIP values as the Low and High BIN to cut the stretch off
at and doesn't set the BINS beyond the Low and High clips to
Min/Max. NOTE: Intended for GreyScale images only.
FILTERS...:
SET WORK AREA:
Same as above.
(Col)SHARPEN: NOTE: All filters use a 3x3 kernal and convolution.
(Col)LAPLACIAN:
(Col)HORIZ: (Horizontal)
(Col)VERTIC: (VERTICAL)
AVERAGE 3x3:
MEDIAN 3x3:
(Col)CUSTOM:
BOOST:
See the included file PRIMER.DOC for more information on how these
filters work.
EFFECTS...:
NOTE: The functions in the EFFECTS menu work on the whole screen,
not just the ENHANCE work area. Also, if you are using a virtual
screen, the effects will only take place on the portion of the
screen that is visable.
RELIEF:
Makes the image look like it was molded in sand.
REVERSE:
Reverse the color values.
SOLARIZE:
Has a similar effect as solarizing a monochrome print after it is
exposed and before it has been developed.
MELT:
Slowly (and I do mean SLOWLY) melts the image. Click the RMB when
you get tired of watching this!
BENTLEY:
Named after the guy who's picture was in the book that this effect
is taken from. Weird effect. HINT: Use the DEFAULT palette and make
a full screen PLASMA cloud and then run the BENTLEY. AWESOME!
28
OIL:
Slow. Transforms a greyscale image into a oil painting. Does not
effect the last 3 columns and the last 3 rows of pixels. Works well
on some color palettes, but not all.
JIGGLER:
This is sort of different, and it is very fun! Using the Jiggler,
you can pick up to five areas on you image and IMPROCES will "set
them jiggling". Heres how:
First you define up to five a rectangular areas. Then IMPROCES will
shift the areas back and forth very rapidly making them "jiggle"
until you hit the RMB. You can slow down the speed of the jiggler
with the DOWN ARROW key and speed it up with the UP ARROW.
Limitations are: The areas must not touch either edge of the image
and the areas must be under 32,000 bytes in size (about 160x100).
REPLICATE...:
X 2, X 4:
Replicate the image 2 or 4 times.
VIDEO MODE...:
NOTE: THIS WILL ERASE THE SCREEN!!!
WARNING: DO NOT TRY A MODE YOUR HARDWARE DOESN'T SUPPORT!!!
WARNING: DO NOT TRY A MODE YOUR HARDWARE DOESN'T SUPPORT!!!
WARNING: DO NOT TRY A MODE YOUR HARDWARE DOESN'T SUPPORT!!!
On a scale of GOOD to BAD, this would be BAD!!!
'NUFF SAID???
Select the mode you want to use and click on it. If you were using
a Virtual Screen and the new mode is larger then the Virtual
Screen, you will be asked if you want to load the Virtual Screen.
To load a Physical Screen into a Virtual Screen, use the option in
FILE-VIRTUAL-MOVE/CREATE menu.
QUIT:
Self explanatory!
29
KNOWN PROBLEMS and ANSWERS TO COMMON QUESTIONS
GIF and PCX files contain their own palette settings. This presents
a problem when designing a graphical menu system in that the
program is forced to use the colors contained in the image files
palette. As it stands, the foreground color (color 255, used for
menu text and mouse cursor) is set to white and the background
(color 0) is set to black while using the menus. When the main menu
is closed, color 0 and 255 are set to the proper values. Because of
this, any adjustments you make to color 0 or 255 with the color
adjuster will not be seen until you "back out" of all the menus.
Also, as color 0 and 255 get replaced, this might cause random
black or white (or both) dots to appear in the image. Again, when
you back out of the menus, the proper color 0 and 255 will be
restored. See the COLOR-MENU ADJUST FUNCTION.
I have been getting quite a few phone calls and letters. Below are
the most commonly asked questions.
Q. I have a 386 with 1 meg of memory, how come I can't use
1024x768x256 mode?
A. The amount of VIDEO MEMORY determines what modes you can access
with the program. Not the amount of memory in your machine. Some
VGA cards can be upgraded with more memory, some cannot. Contact
the manufacturer of your video card, or consult your users manual
for more information. NOTE: Most machines that come with a VGA card
included on the motherboard only have 256K of Video Memory,
therefore the highest mode you will be able to access will be
640x400x256, and that is only if the video card is based on one of
the chipsets mentioned near the top of this manual. See the next
question...
Q. I have an "Off Brand" VGA card with 512K of video memory, how
come I can't access modes greater then 320x200x256 with IMPROCES?
A. If your card is not based on one of the chipsets listed at the
beginning on this manual, it will not be able to access modes
higher then 320x200x256. See the next question...
Q. I have a VGA card with a chipset based on one of those listed at
the top of the manual. All of the modes but one works. Why?
A. Sometimes a video card will be BASED on one of the more popular
chipsets but the similarity stops there. Sometimes the
implementation is complete, other times it is not. Some video cards
come with a Terminate, Stay Resident (TSR) program to make the card
emulate the VESA standard. If you have such a card, try loading the
VESA emulation program and then running IMPROCES.
30
Q. Why can't IMPROCES support every VGA video card? There is a
standard for these things, isn't there?
A. The SVGA256.BGI driver has autodetect logic for the most popular
chipsets. Only a fool would make a statement that their program can
support EVERY VGA card ever built.
The problem is that the VGA has a memory area for graphics that
begins at the address 0xA0000000 and is 64K long. The video mode
320x200x256 uses 62,000 bytes of memory and fits in nicely to the
allocated section of VGA video memory. The video mode 640x400x256
requires 256,000 bytes of memory and does not fit nicely into the
allocated area.
What SVGA cards do is switch what part of memory on the video card
is mapped into the VGA address space by doing page swaps, much the
same way that Expanded Memory works. Great idea! Unfortunately, the
manufacturers never decided on a standard way to do the mapping and
page swapping like the manufacturers of the EMS did. They also
never decided on a standard for mode numbers. And they never
provided a standard way to identify who's chipset you are dealing
with! Seems kind of stupid in retrospect, but what can you do?
Thousands and thousands of these cards are out there, and most
people aren't going to throw their card just because someone in the
future decides on a standard and their card isn't it! The whole
matter gets even more complicated because some manufacturers simply
looked for the cheapest chipset they could find in order to keep
the prices of their cards competitive. As long as they could say
"Supports 1024x768x256" they were happy. Why should they care if
nobody had any software to run on it. Usually these cards would
come with a "demo" program to show that the card did indeed support
the advertised mode. These manufacturers are about as brilliant as
the guys who say "Well if the programmer used the BIOS calls to
plot the pixels...".
Q. Why do black and white dots randomly appear sometimes after
loading a image?
A. Read the section on KNOWN PROBLEMS. Also, try COLOR-MENU ADJUST.
Q. I only have an A:, B: and C: drive but the IMPROCES drive menu
shows drives A: - E: and if I select E:, it says the drive doesn't
exist. Why?
A. IMPROCES makes use of the LASTDRIVE environment that is usually
SET in your AUTOEXEC.BAT file. If you do not have a LASTDRIVE
variable set, DOS will default to drive E: as your LASTDRIVE
variable, whether you have a drive E: or not.
31
Q. Do you really expect people to send you $25 for a program they
already have?
A. YES! I believe in Shareware and believe it is the best way to
market this type of software. Why is IMPROCES shareware? I went to
a software store and was looking at a graphics package that "said"
it supported 256 color VGA and SVGA. It only cost $150 to find out!
I wasn't about to gamble $150 hard earned dollars. I don't think
you should have to gamble with your hard earned money either, so
please try IMPROCES before you buy it, just don't forget to buy it
if you use it!
Q. $25 is sort of inexpensive for such a powerful program. Why
don't you charge more?
A. I believe the program is worth more myself. I also believe that
people shouldn't have to spend a small fortune on their software.
All of the documentation for the program is online and there is no
option for a printed manual, thereby keeping costs down. Their is
also the savings from using the Shareware method of distribution.
All of these savings are passed on to the user.
Q. I have a suggestion or a feature I would like to see included in
the next release of IMPROCES. Would you like to hear it?
A. Yes! I don't mind suggestions or ideas on improving the program.
Keep in mind that I do get a lot of suggestions from many sources,
some of which I implement immediately, some of which I shelve for
later releases. I do listen to/read them all though.
EXAMPLES/TUTORIAL
Coincident with the release of Version 2.2 was the release of the
IMPROCES Example Pack. Compiled by John Wagner and Steve Lumos,
this package contains many examples and tutorials on things you can
do with the program. It is available on the Dust Devil BBS as
IMTTR10.ZIP. Any additions to the pack are welcome but I must ask
that before you add anything to the pack, you do it by contacting
myself or Steve and we will add your submission to subsequent tutor
packs. If you have something to add, please contact either Steve or
I on the DDBBS. Be forewarned that the IMTTR10.ZIP file is over
300K long.
REFERENCES:
There is an excellent article in the March 1987 issue of Byte
Magazine that explains many of the image processing functions used
in the program. Most public libraries maintain back issues of Byte
Magazine.
Two excellent books on Image Processing and one on graphics:
32
"Beyond Photography, The Digital Darkroom", Gerald J. Holzmann,
ISBN # 0-13-074410-7. An excellent book on transforms, plenty of
'C' code and examples, written with a slight sense of humor and
very easy to understand.
"Digital Image Processing", William K. Pratt, ISBN # 0-471-01888-0.
Hard to stomach super-techno-nurd reference manual that contains
everything you ever wanted to know and didn't want to know about
image processing. Buy this book if either 1: You hold a Masters
Degree in some kind biological chemical engineering, or 2: You want
to leave the book open in hopes of impressing your friends.
If you are looking for a good book on graphics programming, try
"Graphics Gems", Andrew Glassner, ISBN # 0-12-286165-5. This book
is a compilation of effective (and fast) graphics programming
techniques. There is plenty of C code and psuedo-code included. I
can't say enough good things about this book, I love it!
PRODUCT SUPPORT:
Registered and unregistered users are encouraged to call the Dust
Devil BBS, (702)796-7134 for product support. Once you log on to
Dust Devil, you will have full access to the JW Software conference
where I answer any and all questions about IMPROCES. New users have
full download privileges on the first call, so you may also call
just to get the latest version of IMPROCES. I am not the Sysop of
Dust Devil, therefore direct any questions about the BBS to the
Sysop.
BUG REPORTS:
If you have a problem with the program and think it is a bug, I am
most interested in hearing about it. Before you contact me please
make sure it is a bug by first looking up the function in the
manual and also reading the KNOWN PROBLEMS and the Q and A
sections.
BLACK AND WHITE DOTS:
Yes, I know there are sometimes random black white and dots on the
screen after loading certain image files. Clicking the RMB until
the menu bar goes away will restore the proper values for these
pixels. The KNOWN PROBLEMS section will explain why this happens.
Also, the COLOR-MENU ADJUST function can help fix this problem.
VIRTUAL VIDEO, WHAT IS IT?:
Virtual Video (or Disk Video) is a way of manipulating large image
files using a video mode that is smaller then the image file
without any information loss from scaling. What you must recognize
when using a Virtual Screen, is that the Physical Screen does not
represent the whole picture. The Physical Screen is actually a
small "window" into the Virtual Screen that can be moved around so
that you can "look into" and edit any area of the Virtual Screen.
See diagram 2.0.
33
Diagram 2.0:
Virtual versus Physical Screen (Virtual Mode 2048x2048 shown)
Virtual Screen─┐ 0,2047
0,0 ┌─────────┴───────────────────────────────────┐
│ │
│ │
│ a┌─────────────┐ │
│ │ Physical │ │
│ │ Screen │ │
│ └─────────────┘b │
│ │
│ Physical Virtual │
│ a = 0,0 100,100 │
│ b = 319,199 419,299 │
│ │
│ │
│ │
│ │
└─────────────────────────────────────────────┘
0,2047 2047,2047
IMPROCES implements the Virtual Screen as a disk file that is a
bitmap of video memory that can be swapped in and out of video
memory very fast, allowing the user to pan through file, much like
you would scan through a text document. These disk files can be
very large, (a 2048x2048 pixel disk file would take 4 megabytes of
disk space), therefore a hard disk is pretty much a requirement to
do this. One advantage of Virtual Screens is that they can provide
another level of UNDO. Before you move the Virtual Screen, you are
asked if you want to save the changes that were made to it.
BEST FITTING A PALETTE, or Re-Mapping:
The overlaying and averaging options and the clipboard give you the
options of "Best Fitting the Palette". What this means is that the
clipfile or incoming image (or on-screen, depending on your
selection) will have it's palette adjusted so that it will look
like it was intended with the new palette. If the difference in
palettes is largely in the placement of colors in the palette,
there will hardly be any noticeable difference in the adjusted
image. If the change in the palette is radical, there will be some
notice of the change in the image.
Color Averaging:
Another feature released with version 3.0 is color averaging on the
incoming files and clip files. To improve the speed of this,
IMPROCES pre-computes a look up table of values. This takes up
time before an image or clipfile is loaded (in average mode), but
it improves the overall speed of the loading. For best results,
use a Split Palette whenever possible if averaging.
HOW TO CONTACT ME:
If you need to contact me, I prefer you do it through the Dust
Devil BBS or by mail at the address for registering IMPROCES.
34
GETTING UPGRADES
Registered users of IMPROCES, are entitled to free upgrades. You
may obtain your upgrades in a number of ways. The Dust Devil BBS is
the "Home Base" of IMPROCES and the latest version of IMPROCES will
always be available there. You can also wait for the program to
arrive at your favorite BBS. For $5 a upgrade fee, I will mail you
the latest version of the program. If you go this route, include
the version number of the program you are presently using so I'll
know whether to send you a disk right away or to wait for the next
upgrade. The number of the DDBBS is (702)796-7134.
UPGRADE NOTES:
If you are upgrading from version 1.0, you must run a utility
program called CONVCLIP.COM to upgrade any clipboard files you
might have saved with version 1.0. CONVCLIP.COM is no longer
distributed with the IMPROCES package but it is available on the
Dust Devil BBS as CONVCLIP.ZIP. Again, you will only need this
program to convert the clipboard images from version 1.0 only.
As of version 3.0 of IMPROCES, clipboard files also have a separate
palette file so that the clipfiles can be re-mapped to another
palette. If you have clipboard files from a version of IMPROCES
prior to 3.0, you might want to re-save these files so that they
can take advantage of the re-mapping feature.
DISTRIBUTION POLICY:
You may, and are encouraged to share this program with others so
that they may try it. Please distribute the program in the original
package you received it in, whether it be a ZIP file, LZH file or
whatever. If you received the IMPROCES files in uncompressed form,
and want to compress the files before distribution, please
distribute it with a filename of IMPROCxx.zzz where xx is the
version (11 for 1.1, 20 for 2.0 etc...) and where zzz is the
extension that the compression program provides. Example: IMPROCES,
Ver 3.0, compressed by PKZIP would be IMPROC30.ZIP. If you upload
the program to a BBS, please use the following description: SVGA
Image Processor/Editor. VGA/MOUSE Req.
SHAREWARE VENDORS:
I strongly encourage all shareware vendors to include IMPROCES in
their catalogs. However, before you do I ask the following: ALL
VENDORS SHOULD RECEIVE WRITTEN PERMISSION from me, John Wagner,
prior to including ANY VERSION of IMPROCES in a catalog and prior
to distributing IMPROCES.
Before I grant permission to a Shareware Vendor to distribute
IMPROCES, I would like to see a sample catalog from your outfit and
receive reassurance from you stating that your customers are aware
that purchasing a disk from you still requires them to register the
software if they plan to use it. This must be stated clearly in any
catalog or advertisement that IMPROCES is to be included in as
well.
35
When I grant permission for a Shareware Vendor to distribute
IMPROCES, I will mail them a master diskette, for which the Vendor
shall agree that all copies of IMPROCES that they distribute will
be made from and all of the files on the disk I send will be
included when IMPROCES is distributed.
Additionally, I reserve the right to revoke permission to
distribute IMPROCES with written notice at any time without giving
reason.
IMAGE FILE FORMATS:
GIF and PCX:
IMPROCES uses the GIF file format and the PCX file format. All
flavors of GIF and PCX are supported. All images saved in either
format will be saved as 256 color images. In the PCX format, the
first 16 colors will be saved in the image header and the full 256
color palette will be tacked on the end of the file, in accordance
with the PCX format. The reason I use GIF and PCX only is because I
felt that those two formats represent the greatest number of images
available today. GIF is useful because of it's device independence
and cross platform and O/S usage. PCX because of it's use in most
drawing programs and image file converters. The PRF format is
really of use only to programmers who use Fastgraph. I don't
recommend using PRF for storing your images if you aren't going to
use them in a Fastgraf program. There is no palette information
stored with the PRF file.
I wrote the PCX decoder and encoder myself as well as the Targa
decoder. The PRF decoder was written by me and the PRF encoder was
based on some code provided to me by Ted Gruber Software. The GIF
encoding and decoding is done with a GIF library written by Gershon
Elber. GIF_LIB is widely available on many BBS's and Compuserve.
Additionally, the source code for the Stone Soup Groups Fractint
contains code for GIF encoding and decoding.
True Color Targa files (TGA):
Starting with version 3.0 of IMPROCES, is support for 24 bit color,
Uncompressed, True Color Targa files. Theses files can contain up
to 16 million different colors in them and are usually very large.
IMPROCES performs a histogram weighted color reduction to shrink
the possible 16 million colors to the 256 supported by the program.
Color reduction is an art, more than a science and the algorithm
used by IMPROCES was developed by me using trial and error until
the best results were found on a multitude of different images.
After the image is loaded into IMPROCES, it can be saved as a GIF
or PCX file which will be much smaller then the original Targa
file. It can even be saved as a PRF file and incorporated into a
program that uses Fastgraph!
FILES OF INTEREST TO PROGRAMMERS:
Registered users of IMPROCES might want to make use of the
IMRPOCES .CLB and .PAL file formats in their programs. Below is a
36
brief description of them. NOTE: Anyone can use the .MAP palette
file format. I included it in IMPROCES to maintain compatibility
with the Stone Soup Groups Fractint and the many other programs
that use it.
Although no compression is performed on the clipfiles, they are
very fast to read from the disk. The format of the .CLB file is
very basic, the file is a byte for byte copy of video memory, with
the dimensions tacked on the end after the text "DIMS:".
To get the DIMS, open the file in TEXT mode and then set the file
pointer back about 50 or so bytes and scan forward until you reach
the string "DIMS:", then read in the SX, SY, EX, and EY with a
scanf() like so: fscanf(fp,"%d %d %d %d",&sx,&sy,&ex,&ey);
The IMPROCES .PAL format is very basic. The format is the as
follows:
byte 0 = color 0 red attribute
byte 1 = color 0 green attribute
byte 2 = color 0 blue attribute
.....
byte 765 = color 255 red attribute
byte 766 = color 255 green attribute
byte 767 = color 255 blue attribute
The values in the .PAL should then be bit shifted 2 bits to get the
proper values when using a IBM VGA system.
The .MAP is the same is .PAL except that the .MAP file is written
in text mode with room for comments. The following code will read
in one line from a .MAP file:
fgets(line,100,fp); //get 100 bytes from the file *fp
sscanf( line, "%d %d %d", &r, &g, &b ); //sscanf the values
The values in the .MAP should then be bit shifted 2 bits to get the
proper values when using a IBM VGA system.
HOW?:
IMPROCES was written originally written in MS QC using the
320x200x256 VGA mode only. A friend introduced me to Turbo C and
the BGI and it was downhill from there! Using a BGI driver written
by Jordan Powell Hargrave and the Borland Turbo C++ graphics
library, I achieved a program that works in 320x200x256 thru
1024x768x256. Not an easy feat! I have seen no other programs like
this on the market so if you decide to keep the program, please
register it. As of version 2.0, IMPROCES is compiled with Turbo
C++, Version 1.01. It is still written in straight C however.
37
WHO?:
The IMPROCES Team:
Programmer: John Wagner, Las Vegas, Nevada
Beta Testers: Steve Lumos, Las Vegas, Nevada
Mitch Harhay, Las Vegas, Nevada
Bob Sherburne, Las Vegas, Nevada
Special Thanks:
Thanks to Ted and Diana Gruber of Ted Gruber Software for the use
of the Dust Devil BBS for user support and as a beta test site. Ted
Gruber Software has many fine shareware products, most notably
Fastgraph and Fastgraph Light Graphics libraries which provide
programmers with the tools to do animation and many other advanced
graphics functions. One of the best parts of Fastgraph is its users
manual which is practically a textbook on how to do graphics
animation and other very advanced graphics functions. To download
the latest version of IMPROCES or Fastgraph, call the Dust Devil
BBS at (702)796-7134. Downloads are allowed and encouraged on the
first call. Leave me a note if you call! Ted also wrote the PRF
encoder that is included in IMPROCES.
Thanks to the Beta Testers Steve Lumos, Mitch Harhay and Bob
Sherburne. I don't think beta testers is a fair title for these
guys because they provided so many ideas and useful input that
equal credit should given to them for the outcome of the program.
Thanks to the Stone Soup Group for making the source code to
FRACTINT so freely available. Without it, the Plasma Cloud function
would not have been possible.
Thanks to Mitchell Waite of the Waite Group for his useful
suggestions and for providing insights into the user interface and
other functions of the program. If you haven't bought any of the
Waite Groups computer books, you are missing out. I started
programming in 'C' after buying the Waite Groups "C Primer Plus",
which I highly recommend for anyone starting out with C
programming.
Special thanks to my wife Sherry for putting up with me spending
all these late nights on my computer. And last but not least,
thanks to my son Martin (who just turned a year old Aug 20, 1991)
for being such great little guy and not pouring his oatmeal into my
floppy disk drive (yet). He has made some kamakazi dives at the
keyboard though and he did manage to get some jelly on my mouse
pad, oh well.
38
LEGAL STUFF:
IMPROCES(C). Copyright John Wagner 1991. All rights reserved.
GIF and "Graphics Interchange Format" are trademarks (tm) of
Compuserve Incorporated, an H&R Block Company
SVGA256.BGI is Copyright 1991, JORDAN HARGRAPHIX SOFTWARE
Created using Turbo C++, Copyright (C) Borland 1990
GIF Decoding and Encoding done via: GIF_LIB (C), Gershon Elber,
1991. Version 1.1
Fastgraph and Fastgraph Light is Copyright, 1991, Ted Gruber
Software
DISCLAIMER AND LEGAL NOTICES:
I, John M. Wagner retain ALL rights to distribute and collect fees
for this software. This software IS NOT RELEASED TO THE PUBLIC
DOMAIN!!! IT IS NOT FREE!!! It is OWNED by me and only me!
You, as a user have the right to possess and distribute this
software. You MAY NOT collect ANY FEE, real or otherwise for the
transfer of this software, Exception: You may charge the cost of
distribution (ie: phone transfer costs, floppy disk/mailers,
postage. It is to be understood, with the party that is charged
these fees, that paying transfer costs DOES NOT constitute a
registration fee to the author and that a registration fee is STILL
required after evaluating the software.
All files included in this package must be distributed together and
may not be modified in ANY WAY by anyone other then John Wagner. I
reserve the right to refuse anyone the right to distribute this
software with a written notice.
DISCLAIMER NOTICE:
This program was written by John Wagner. I, John Wagner accept NO
RESPONSIBILITY for ANY damages, real or otherwise that this program
cause.
I make no guarantees that this program works as described in this
document file or anywhere else. This software is provided "AS IS"
with NO GUARANTEE, expressed or implied. USE IT AT YOUR OWN RISK!
39
USERS LICENSE
UNREGISTERED USERS:
Users who have not registered their copy of IMPROCES, are hereby
granted permission to try IMPROCES for a period of two weeks before
they must discontinue using the program or register a copy. This
two week period starts from when the package is first received by
the user.
REGISTERED USERS:
Users who have registered IMPROCES may use the program on a single
computer. The registered version of the program may reside on more
then one computer at one time, provided it is not possible to use
more then one copy at one time.
40